﻿using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MonopolyNOHI2015;

namespace MonopolyTests
{
    [TestClass]
    public class VeldTests
    {
        private Veld _startVeld;
        private StraatVeld _kalverStraat;
        
        [TestInitialize]
        public void Setup()
        {
            _startVeld = new Veld(0, "Start");
            _kalverStraat = new StraatVeld(39, "Kalverstraat", "Amsterdam",0,0);
        }
        
        [TestMethod]
        public void TestOfVeldNaamStartIs()
        {
            Assert.AreEqual(expected: "Start", actual: _startVeld.GetVeldNaam());
        }
        
        [TestMethod]
        public void TestOfStraatVeldNaamKalverstraatIs()
        {
            Assert.AreEqual(expected: "Kalverstraat", actual: _kalverStraat.GetVeldNaam());
        }

        [TestMethod]
        public void TestOfNutsVeldNaamNutsVeldIs()
        {
            var nutsVeld = new NutsVeld(12, "Waterleiding");
            Assert.AreEqual(expected: "Waterleiding", actual: nutsVeld.GetVeldNaam());
        }

        [TestMethod]
        public void TestOfStationVeldNaamStationWestIs()
        {
            var stationVeld = new StationVeld(5, "station west");
            Assert.AreEqual(expected: "station west", actual: stationVeld.GetVeldNaam());
        }

        [TestMethod]
        public void TestOfBelastingVeldNaamInkomstenbelastingtIs()
        {
            var belastingVeld = new BelastingVeld(4, "Inkomstenbelasting", 200);
            Assert.AreEqual(expected: "Inkomstenbelasting", actual: belastingVeld.GetVeldNaam());
        }

        [TestMethod]
        public void TestOfStartVeldPositie0Is()
        {
            Assert.AreEqual(0, _startVeld.GetVeldPositie());
        }

        [TestMethod]
        public void TestOfKalverStraatPositie39Is()
        {
            Assert.AreEqual(39, _kalverStraat.GetVeldPositie());
        }
    }
}
